package com.algorithm.one2fifty;

/**
 *
 * @author tuzhijin
 */
public class IntReserve_7 {

    public static void main(String[] args) {

        System.out.println(reserveInt(123));
    }

    public static int reserveInt(int x) {
        int reserve = 0;
        // 当不为0的时候进行反转
        // 123->321
        while (x != 0) {
            if (x < Integer.MIN_VALUE / 10 || x > Integer.MAX_VALUE / 10) {
                return 0;
            }
            // 每次取余数
            // 1->2->3
            int remainder = x % 10;
            // 每次取整数，位数递减，到0时退出循环
            //32->3->0，循环条件控制
            x = x / 10;
            // 每次用结果乘以10，加上余数来得到结果
            // 1 = 0 *10 + 1；
            // 12 = 1 * 10 + 2；
            // 123 = 12 * 10 + 3；
            reserve = reserve * 10 + remainder;
        }
        return reserve;
    }

}